package com.bjbn.service;

import com.bjbn.bean.MonitorResponse;
import com.bjbn.bean.QueueInfo;

import java.util.List;

/**
 * RabbitMQ监控服务接口
 * 
 * @author bjbn
 */
public interface RabbitmqMonitorService {

    /**
     * 获取所有队列的监控状态
     * 
     * @return 监控响应
     */
    MonitorResponse getMonitorStatus();

    /**
     * 获取指定队列的监控状态
     * 
     * @param queueName 队列名称
     * @return 队列信息
     */
    QueueInfo getQueueStatus(String queueName);

    /**
     * 获取所有队列信息列表
     * 
     * @return 队列信息列表
     */
    List<QueueInfo> getAllQueues();

    /**
     * 更新队列的最新数据时间
     * 
     * @param queueName 队列名称
     */
    void updateQueueLastDataTime(String queueName);

    /**
     * 初始化队列列表
     */
    void initializeQueues();
}